﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;


using AdminCondominio.Dominio;
using AdminCondominio.Persistencia;
namespace AdminCondominio.Negocio
{
    public class AreaComunService
    {
        public TipoAreaComunDAO TipoAreaComunDAO { get; set; }
        public AreaComunDAO AreaComunDAO { get; set; }
        public SeparacionAreaComunDAO SeparacionAreaComunDAO { get; set; }
        //aaa
        public int RegistrarAreaComun(AreaComun data)
        {

            TipoAreaComun TipoAreaComun = TipoAreaComunDAO.OptenerTipoAreaComun(data.TipoAreaComun);
            //if (TipoAreaComun == null)
            //{
            //    throw new Exception("Tipo de Area Comun no existe");
            //}

            return AreaComunDAO.InserAreaComun(data);
        }


        public int UpdateAreaComun(AreaComun data)
        {
            int nunfilas = AreaComunDAO.UpdateAreaComun(data);
            if (nunfilas == 0)
            {
                throw new Exception("Error.!!!!!! al actualizar area común");
            }
            return nunfilas;
        }

        public int DelAreaComun(AreaComun data)
        {
            int nunfilas = AreaComunDAO.DeleteAreaComun(data);  
            if(nunfilas==0)
            {
                throw new Exception("Error.!!!!!! al actualizar area común");
            }
            return nunfilas;        
        }
        public List<AreaComun> ListarAreaComun()
        {

            List<AreaComun> ListaAreaComun = AreaComunDAO.ListAreaComun();

            if (ListaAreaComun == null)
            {
                throw new Exception("Error.!!!!!! al actualizar area común");
            }
            return ListaAreaComun;
        }

        public List<AreaComun> ListAreaComunxTipo(int CoTipoAreaComun)
        {

            List<AreaComun> ListaAreaComun = AreaComunDAO.ListAreaComunxTipo(CoTipoAreaComun);

            return ListaAreaComun;
        }

        public AreaComun OptenerAreaComun(AreaComun value)
        {

            AreaComun AreaComun = AreaComunDAO.OptenerAreaComun(value);

            if (AreaComun == null)
            {
                throw new Exception("Error.!!!!!! al actualizar area común");
            }
            return AreaComun;
        }
    }
}